# （1）添加学生信息：用户按照系统提示依次输入学生的姓名、性别和手机号，输入完成后会收到系统提示“添加成功！”的信息。
# （2）删除学生信息：用户按照系统提示输入学生的序号，输入完成后会收到系统提示“删除成功！”的信息。
# （3）修改学生信息：用户按照系统提示先输入待修改学生的序号，再依次输入修改后的学生姓名、性别和手机号。若学生信息管理系统中还没有添加过学生信息，提示“学生信息表为空”。
# （4）查询所有学生信息：系统按照固定格式输出所有学生信息。
# （5）退出系统：退出学生信息管理系统。


students = []

def show_menu():
    """显示功能菜单"""
    print('-----学生管理系统-----')
    print("(0)退出")
    print("(1)添加学生信息")
    print("(2)删除学生信息")
    print("(3)修改学生信息")
    print("(4)查询所有学生信息")
    print("-"*20)
    print("请选择你要进行的操作序号")

    pass

def add_student():
    name   = input("请输入学生姓名：").strip()
    gender = input("请输入学生性别：").strip()
    phone  = input("请输入学生手机号：").strip()
    students.append({"name": name, "gender": gender, "phone": phone})
    input("添加成功！按 Enter 键返回菜单...")

def delete_student():
    """删除学生"""
    if not students:
        input("学生信息表为空！请按Enter键返回菜单...")
        return
    try:
        idx = int(input("请输入要删除的学生序号："))
        if 0<=idx<len(students):
            del students[idx]
            input("删除成功！按Enter键返回菜单...")
        else:
            input("序号无效！请按Enter键返回菜单...")
    except ValueError:
        input("请输入有效数字！按 Enter 键返回菜单...")


def update_student():
    """修改学生"""
    if not students:
        input("学生信息表为空！请按Enter键返回菜单...")
        return
    try:
        idx=int(input("请输入要修改的学生序号"))
        if 0<=idx<len(students):
            name=input("请输入修改后的姓名：").strip()
            gender=input("请输入修改后的性别：").strip()
            phone=input("请输入修改后的手机号").strip()
            students[idx]={"name": name, "gender": gender, "phone": phone}
            input("修改成功！按Enter键返回菜单...")
        else:
            input("序号无效！按Enter键返回菜单...")
    except ValueError:
        input("请输入有效数字！按Enter键返回菜单...")

def query_students():
    """查询所有学生"""
    if not students:
        input("学生信息表为空！请按Enter键返回菜单...")
        return
    print("\n当前所有学生信息：")
    for i,stu in enumerate(students):
        print(f"序号：{i:<3} 姓名：{stu['name']:<10} 性别：{stu['gender']:<4} 手机号：{stu['phone']}")
    input("\n按Enter键返回菜单...")

def main():
    """主循环：展示菜单→分发功能→直到退出"""
    while True:
        show_menu()
        choice = input('请选择：').strip()
        if choice == '1':
            add_student()
        elif choice == '2':
            delete_student()
        elif choice == '3':
            update_student()
        elif choice == '4':
            query_students()
        elif choice == '0':
            print('已退出，再见！')
            break
        else:
            print('输入无效，请重试')

if __name__ == '__main__':
    main()